<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML Strict//EN">
<HTML>
<HEAD>
<TITLE>SP - Features Summary</TITLE>
<BODY>
<H1>
SP
</H1>
<H3>
A free, object-oriented toolkit for SGML parsing and entity management
</H3>
<H2>
Features summary
</H2>
<UL>
<LI>
Includes nsgmls
<UL>
<LI>
Compatible with sgmls
<LI>
Also generates RAST (ISO/IEC 13673)
</UL>
<LI>
Provides access to all information about SGML document
<UL>
<LI>
Access to DTD and SGML declaration as well as document instance
<LI>
Access to markup as well as abstract document
<LI>
Sufficient to recreate character-for-character identical
copy of any SGML document
</UL>
<LI>
Supports almost all optional SGML features
<UL>
<LI>
Arbitrary concrete syntaxes
<LI>
SHORTTAG, OMITTAG, RANK
<LI>
SUBDOC
<LI>
LINK (SIMPLE, IMPLICIT and EXPLICIT)
<LI>
Only DATATAG and CONCUR not supported
</UL>
<LI>
Sophisticated entity manager
<UL>
<LI>
Supports ISO/IEC 10744 Formal System Identifiers
<LI>
Supports SGML Open catalogs
<LI>
Supports WWW
<LI>
Can be used independently of parser
</UL>
<LI>
Supports multi-byte character sets
<UL>
<LI>
Parser can use 16-bit characters internally
<LI>
16-bit characters can be used in tag names and other markup
<LI>
Supports ISO/IEC 10646 (Unicode) using both UCS-2 and UTF-8
<LI>
Supports Japanese character sets (Shift-JIS, EUC)
</UL>
<LI>
Object-oriented
<LI>
Written in C++ from scratch
<UL>
<LI>
Not a modified version of a parser originally written in C
<LI>
Reentrant
<LI>
Sophisticated architecture
</UL>
<LI>
Fast
<UL>
<LI>
Up to twice as fast as sgmls on large documents
</UL>
<LI>
Portable
<UL>
<LI>
All major Unix variants
<LI>
MS-DOS
<LI>
Win32: Windows 95/Windows NT
<LI>
OS/2
</UL>
<LI>
Production quality
<UL>
<LI>
Version 1.0 recently released, after a year of test releases
<LI>
Tested using several SGML test suites
<LI>
Already used in several new commercial products
<LI>
Written by James Clark, previously responsible for turning arcsgml into sgmls
</UL>
<LI>
Free
<UL>
<LI>
Includes source code
<LI>
No restrictions on commercial use
</UL>
<LI>
Disadvantages
<UL>
<LI>
Programmer-level documentation only for generic API
and not for native API.
</UL>
</UL>

<P>
<ADDRESS>
James Clark<BR>
jjc@jclark.com
</ADDRESS>
</BODY>
</HTML>
